/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.sgsmcan.Entidad;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 *
 * @author user
 */

@Entity
@Table(name = "MODULO")
public class Modulo implements Serializable {
    
    @Id
    @GeneratedValue
    @Column(name = "IDMODULO")
    Integer id;
    
    @Column(name = "NOMBRE")
    String nombre;
    
    @Column(name = "ELIMINAR")
    Boolean eliminar;
    
    @Column(name = "ACTUALIZAR")
    Boolean actualizar;
    
    @Column(name = "CREAR")
    Boolean crear;
    
    @Column(name = "LISTAR")
    Boolean listar;
    
    @Column(name = "URL")
    String url;
    
    @Transient
    Permiso permiso;
    
    @OneToMany(fetch = FetchType.LAZY, mappedBy = "modulo")
    Set<Permiso> permisos = new HashSet<Permiso>(0);
    
    @Column(name = "ESTADO",insertable = false)
    Boolean estado;

    public Modulo() {
    }

    public Modulo(Integer id, String nombre, Boolean eliminar, Boolean actualizar, Boolean crear) {
        this.id = id;
        this.nombre = nombre;
        this.eliminar = eliminar;
        this.actualizar = actualizar;
        this.crear = crear;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public Boolean getEliminar() {
        return eliminar;
    }

    public void setEliminar(Boolean eliminar) {
        this.eliminar = eliminar;
    }

    public Boolean getActualizar() {
        return actualizar;
    }

    public void setActualizar(Boolean actualizar) {
        this.actualizar = actualizar;
    }

    public Boolean getCrear() {
        return crear;
    }

    public void setCrear(Boolean crear) {
        this.crear = crear;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }  

    public Set<Permiso> getPermisos() {
        return permisos;
    }

    public void setPermisos(Set<Permiso> permisos) {
        this.permisos = permisos;
    }

    public Boolean getListar() {
        return listar;
    }

    public void setListar(Boolean listar) {
        this.listar = listar;
    }

    public Permiso getPermiso() {
        return permiso;
    }

    public void setPermiso(Permiso permiso) {
        this.permiso = permiso;
    }

    public Boolean getEstado() {
        return estado;
    }

    public void setEstado(Boolean estado) {
        this.estado = estado;
    }

}
